home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Standards 1994 January / InfoMagic Standards - January 1994.iso / misc / merit / 1991 / 91_173.txt < prev    next >
Text File  |  1991-05-19  |  37KB  |  1,199 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.      Large Public Data                                 T. Bradley
  9.      Networks Working Group                              C. Brown
  10.      Internet Draft                Wellfleet Communications, Inc.
  11.                                                          A. Malis
  12.                                                BBN Communications
  13.                                                      May 17, 1991
  14.  
  15.                       Multiprotocol Interconnect
  16.                        over Frame Relay Networks
  17.  
  18.  
  19.  
  20.      1.  Status of this Memo
  21.  
  22.      This document proposes an encapsulation method for
  23.      transporting network interconnect traffic over a Frame Relay
  24.      backbone. Distribution of this document is unlimited. Comments
  25.      are welcome.
  26.  
  27.  
  28.      2.  Abstract
  29.  
  30.      This memo describes an encapsulation method for carrying
  31.      network interconnect traffic over a Frame Relay backbone.  It
  32.      covers aspects of both Bridging and Routing.
  33.  
  34.  
  35.      3.  Acknowledgements
  36.  
  37.      Comments and contributions from many sources, especially those
  38.      from Ray Samora of Proteon, Ken Rehbehn of Netrix Corporation,
  39.      Fred Baker and Charles Carvalho of Advanced Computer
  40.      Communications have been incorporated into this document.
  41.      Special thanks to Dory Leifer of University of Michigan for
  42.      his contributions to the resolution of fragmentation issues.
  43.  
  44.  
  45.      4.  Conventions
  46.  
  47.      The following language conventions are used in the items of
  48.      specification in this document:
  49.  
  50.        o Must, Shall or Mandatory -- the item is an absolute
  51.          requirement of the specification.
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.      Bradley, Brown, Malis                                 [page 1]
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.               Multiprotocol Interconnect over Frame Relay
  66.  
  67.  
  68.        o Should or Recommended -- the item should generally be
  69.          followed for all but exceptional circumstances.
  70.  
  71.        o May or Optional -- the item is truly optional and may be
  72.          followed or ignored according to the needs of the
  73.          implementor.
  74.  
  75.  
  76.      5.  Introduction
  77.  
  78.      The following discussion applies to those devices which serve
  79.      as end stations (DTEs) on a public or private Frame Relay
  80.      network (for example, provided by a common carrier or PTT).
  81.      It will not discuss the behavior of those stations that are
  82.      considered a part of the Frame Relay network (DCEs).
  83.  
  84.      The Frame Relay network provides a number of Permanent Virtual
  85.      Circuits (PVCs) that form the basis for connections between
  86.      stations attached to the same Frame Relay network.  The
  87.      resulting set of interconnected devices forms a private Frame
  88.      Relay group which may be either fully interconnected with a
  89.      complete "mesh" of PVCs, or only partially interconnected.  In
  90.      either case, each PVC is uniquely identified at each Frame
  91.      Relay interface by a Data Link Connection Identifier (DLCI).
  92.      DLCIs have strictly local significance at each Frame Relay
  93.      interface, unless the Frame Relay network uses the optional
  94.      Global Addressing convention.  Because local addressing is
  95.      more general, this proposal will concentrate on this form of
  96.      addressing and discuss separately possible optimizations for
  97.      the global addressing.
  98.  
  99.  
  100.      6.  Frame Format
  101.  
  102.      All protocols must encapsulate their packets within a LAPF-
  103.      based frame [1] as required by the Frame Relay
  104.      specification[2].  Additionally, packets shall contain
  105.      information necessary to identify the protocol carried within
  106.      the Protocol Data Unit (PDU), thus allowing the receiver to
  107.      properly process the incoming packet.  The format shall be as
  108.      follows:
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.      Bradley, Brown, Malis                                 [page 2]
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.               Multiprotocol Interconnect over Frame Relay
  126.  
  127.  
  128.  
  129.              +-----------------------------+
  130.              | LAPD flag (7E hexadecimal)  |
  131.              +-----------------------------+
  132.              | DLCI*       .               |
  133.              +--           .             --+
  134.              |             .               |
  135.              +-----------------------------+
  136.              | Control (UI = 0x03)         |
  137.              +-----------------------------+
  138.              | Optional Pad   (0x05)       |
  139.              +-----------------------------+
  140.              |     Format Identifier/      |
  141.              +--                         --+
  142.              |  Ethertype                  |
  143.              +-----------------------------+
  144.              |             .               |
  145.              |             .               |
  146.              |             .               |
  147.              |             .               |
  148.              |   Link Protocol Data Unit   |
  149.              |             .               |
  150.              |             .               |
  151.              +-----------------------------+
  152.              | LAPD Frame Check Sequence   |
  153.              +--           .             --+
  154.              |       (two octets)          |
  155.              +-----------------------------+
  156.              | LAPD flag (7E hexadecimal)  |
  157.              +-----------------------------+
  158.  
  159.           *DLCIs, as presently defined are  10-bit  encoded  in
  160.           two  octets.   In some networks DLCIs may, optionally
  161.           be increased to three or four octets.
  162.  
  163.  
  164.      The Control field is either a one or two byte field directly
  165.      following the Frame Relay address space (DLCI).  Initially
  166.      this value shall be a one byte field set to Un-numbered
  167.      Information (UI - 0x03). This field is used only for
  168.      compatibility with other LAPD networks and has no specific
  169.      meaning within the Frame Relay PVC environment at present.
  170.  
  171.      The pad field is an optional octet used to align the packet.
  172.      In order to detect its presence or absence, the pad field
  173.  
  174.  
  175.  
  176.  
  177.  
  178.      Bradley, Brown, Malis                                 [page 3]
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.               Multiprotocol Interconnect over Frame Relay
  186.  
  187.  
  188.      should be set to 0x05.
  189.  
  190.      The Format Identifier/Ethertype field is a 16-bit value used
  191.      to identify the type of frame encapsulated within the PDU.
  192.      This is discussed in greater detail in the Interconnect Issues
  193.      section.
  194.  
  195.      There is no commonly implemented maximum frame size for Frame
  196.      Relay. A network must, however, support at least a 262 octet
  197.      maximum. Generally, the maximum will be greater than 1600
  198.      bytes, but each Frame Relay service provider will specify an
  199.      appropriate value for its network.  A Frame Relay DCE,
  200.      therefore, must allow the maximum acceptable frame size to be
  201.      configurable.
  202.  
  203.      The minimum frame size allowed for Frame Relay is five octets
  204.      between the opening and closing flags.
  205.  
  206.  
  207.      7.  Interconnect Issues
  208.  
  209.      There are two basic types of data packets that travel within
  210.      the Frame Relay network, routed packets and bridged packets.
  211.      These packets have distinct formats and therefore, must
  212.      contain an indication that the destination may use to
  213.      correctly interpret the contents of the frame.  This
  214.      indication is embedded within the Format Identifier/Ethertype
  215.      field.
  216.  
  217.      In order to allow most protocols to run over frame relay,
  218.      there must be a mechanism to allow use of the IEEE 802.2 LLC
  219.      header.  The additional overhead of including this header,
  220.      however, is expensive for small packets (ie  telnet traffic).
  221.      The Format Identifier/Ethertype (FI/E) field provides the
  222.      flexibility to allow either straight ethertype or 802.2 header
  223.      encapsulation.  If the value of the FI/E field is greater than
  224.      or equal to 0x600 it represents an Digital Equipment, Intel,
  225.      Xerox (DIX) Ethertype and the PDU will immediately follow. In
  226.      this case, the packet will be of the following format:
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.      Bradley, Brown, Malis                                 [page 4]
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.               Multiprotocol Interconnect over Frame Relay
  246.  
  247.  
  248.                  +-------------------------------+
  249.                  | DLCI          |               |
  250.                  +-------------------------------+
  251.                  |Control = 0x03 | pad = 0x05    |
  252.                  +-------------------------------+
  253.                  |Ethertype   ( >= 0x600)        |
  254.                  +-------------------------------+
  255.                  | Protocol packet               |
  256.                  |             .                 |
  257.                  |             .                 |
  258.                  |             .                 |
  259.                  +-------------------------------+
  260.  
  261.  
  262.      In the case where a 802.2 header is necessary, the value of
  263.      the FI/E field is set to 0x0400 and the Frame Relay packet
  264.      will be as follows:
  265.  
  266.  
  267.                  +-------------------------------+
  268.                  | DLCI          |               |
  269.                  +-------------------------------+
  270.                  |Control = 0x03 | pad = 0x05    |
  271.                  +-------------------------------+
  272.                  |Format ID  0x400               |
  273.                  +-------------------------------+
  274.                  | 802.2 header                  |
  275.                  |             .                 |
  276.                  +-------------------------------+
  277.                  | Protocol packet               |
  278.                  |             .                 |
  279.                  |             .                 |
  280.                  |             .                 |
  281.                  +-------------------------------+
  282.  
  283.  
  284.  
  285.      All stations must be able to accept and properly interpret
  286.      both variations of the routed packet encapsulation.
  287.  
  288.      The second type of Frame Relay traffic is bridged packets.
  289.      Bridged traffic differs from routed traffic in that the bridge
  290.      does not look into the packet to determine the final
  291.      destination.  Instead, bridges place the MAC header
  292.      immediately following the Frame Relay header information and
  293.  
  294.  
  295.  
  296.  
  297.  
  298.      Bradley, Brown, Malis                                 [page 5]
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.               Multiprotocol Interconnect over Frame Relay
  306.  
  307.  
  308.      use this to correctly forward the packet.  In this case, the
  309.      FI/E field indicates, not only that a bridged packet follows
  310.      the Frame Relay header, but also some important information
  311.      about the packet.  The FI/E field is interpreted as follows
  312.      for a bridged packet.
  313.  
  314.  
  315.               +--------------------------------------+
  316.               |0 0 0 0 0 0 F Z |   Origin  media     |
  317.               +--------------------------------------+
  318.  
  319.  
  320.      The F bit indicates that the source preserves the FCS within
  321.      the packet.  If the F bit is set (one), the preserved FCS is
  322.      present within the PDU.
  323.  
  324.      The Z bit indicates zero compression.  If it is set (one) zero
  325.      compression was used.  RFC 1220 [11], Point to Point Protocol
  326.      Extensions for Bridging, describe algorithms for use of both
  327.      the Z and F bits.
  328.  
  329.      The Origin Media field is used to describe on what media the
  330.      packet originated.  Values used are also included in RFC 1220
  331.      [11] listed as MAC type.  Specifically, these values are:
  332.  
  333.  
  334.          MAC Type:
  335.               0: Reserved
  336.               1: IEEE 802.3/Ethernet
  337.               2: IEEE 802.4
  338.               3: IEEE 802.5
  339.               4: FDDI
  340.               other:  Assigned by the Internet Assigned Numbers
  341.                       Authority
  342.  
  343.  
  344.  
  345.      A packet bridged over frame relay will, therefore, have the
  346.      following format.
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.      Bradley, Brown, Malis                                 [page 6]
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.               Multiprotocol Interconnect over Frame Relay
  366.  
  367.  
  368.                  +-------------------------------+
  369.                  | DLCI          |               |
  370.                  +-------------------------------+
  371.                  |Control = 0x03 | pad = 0x05    |
  372.                  +-------------------------------+
  373.                  | 0000 00FZ     | Origin Media  |
  374.                  +-------------------------------+
  375.                  | MAC Header                    |
  376.                  |             .                 |
  377.                  |             .                 |
  378.                  +-------------------------------+
  379.                  | Protocol packet               |
  380.                  |             .                 |
  381.                  |             .                 |
  382.                  |             .                 |
  383.                  +-------------------------------+
  384.  
  385.  
  386.  
  387.      In an algorithm form, the format identifier/ethertype field
  388.      may be interpreted in the following manner.
  389.  
  390.  
  391.              if (format_ID >= SMALLEST_ETHERTYPE)
  392.                 interpret the format_ID as an ethertype
  393.              else if (format_ID == 0x0400)
  394.                 A 802.2 header follows.
  395.              else if (format_ID == 0x401)
  396.                 A fragmented packet; see below.
  397.              else if (format_ID <  0x0400)
  398.                 This is a bridged frame.
  399.                 perform bridging algorithm
  400.              else
  401.                 Not yet defined; Drop the frame.
  402.  
  403.  
  404.  
  405.      8.  Logical Link Control - Quality of Service
  406.  
  407.      All Frame Relay stations shall support the Exchange
  408.      Identification (XID) Command described in the 802.2 Logical
  409.      Link Control (LLC) specification [8].  Using XID, Frame Relay
  410.      stations will exchange LLC service information and discover
  411.      the level of LLC supported.  If both stations of a connection
  412.      support LLC2, they may optionally select to use LLC2 and
  413.  
  414.  
  415.  
  416.  
  417.  
  418.      Bradley, Brown, Malis                                 [page 7]
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.               Multiprotocol Interconnect over Frame Relay
  426.  
  427.  
  428.      exchange acknowledged packets.  This does not imply that both
  429.      sides of the connection must use LLC2, or LLC1 exclusively.
  430.      As with any use of the XID information, the stations may use
  431.      any combination of the supported link control types that is
  432.      appropriate for the application.
  433.  
  434.      Frame Relay stations may optionally support the Test Command
  435.      also specified in 802.2 LLC standard [8].
  436.  
  437.  
  438.      9.  Fragmentation Issues
  439.  
  440.      Fragmentation allows the exchange of logical frames that are
  441.      greater than the maximum frame size supported by the
  442.      underlying network.  In the case of Frame Relay, the network
  443.      may support a maximum as small as 262 octets.  Because of this
  444.      small maximum size, it is advantageous to support
  445.      fragmentation and reassembly.
  446.  
  447.      Unlike other fragmentation procedures, the scope of Frame
  448.      Relay fragmentation procedures is limited to the boundry (or
  449.      DTEs) of the frame relay network.
  450.  
  451.      The general format of fragmented packets is the same as any
  452.      other encapsulated protocol.  The most significant difference
  453.      being that the fragmented packet will contain the
  454.      encapsulation header.  That is, a packet is first properly
  455.      encapsulated as defined above. Large packets are then broken
  456.      up into frames appropriate for the given Frame Relay network
  457.      and are encapsulated within the fragmentation format.  In this
  458.      way, a station receiving fragments may reassemble them and
  459.      then put the reassembled packet through the same processing
  460.      path as a packet that had not been fragmented.
  461.  
  462.      Fragments are distinguished by the Format ID field of 0x401
  463.      and an individual fragment will have the following format.
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.      Bradley, Brown, Malis                                 [page 8]
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.               Multiprotocol Interconnect over Frame Relay
  486.  
  487.  
  488.               +------------------+------------------+
  489.               | DLCI             | DLCI             |
  490.               +------------------+------------------+
  491.               | Control 0x03     | Pad  0x05        |
  492.               +------------------+------------------+
  493.               | Format ID  0x0401                   |
  494.               +------------------+------------------+
  495.               | Fragment sequence number            |
  496.               +------------------+------------------+
  497.               |offset                |final|reserved|
  498.               +------------------+------------------+
  499.               |    fragment data                    |
  500.               |                  .                  |
  501.               |                  .                  |
  502.               |                  .                  |
  503.               +------------------+------------------+
  504.               |              FCS                    |
  505.               +------------------+------------------+
  506.  
  507.  
  508.  
  509.           The sequence field is a two octet identifier that is
  510.           incremented every time a new complete LPDU is fragmented.
  511.           The sequence number allows detection of reversed or lost
  512.           frames and prevents erroneous reassembly.
  513.  
  514.           The offset field is a 10 bit value represents the logical
  515.           offset of this fragment divided by 32. The first fragment
  516.           should have an offset of zero.
  517.  
  518.           The final bit shall be set to 1 on the last fragment and
  519.           set to 0 for all other fragments.
  520.  
  521.           The reserved field is not currently defined and must be
  522.           set to 0.
  523.  
  524.           Fragments must be sent in order starting with a zero
  525.           offset and ending with the final fragment.  These
  526.           fragments must not be interrupted with other packets or
  527.           information intended for the same destination.  An end
  528.           station must be able to re-assemble up to 2K octets and
  529.           is suggested to support up to 8K octet re-assembly.
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.      Bradley, Brown, Malis                                 [page 9]
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.               Multiprotocol Interconnect over Frame Relay
  546.  
  547.  
  548.      10.  Address Resolution
  549.  
  550.      There are situations in which a Frame Relay station may wish
  551.      to dynamically resolve a protocol address.  Address resolution
  552.      may be accomplished using the standard Address Resolution
  553.      Protocol (ARP) [3] encapsulated within a Frame Relay packet as
  554.      follows:
  555.  
  556.  
  557.          Ethertype           0x0806      ARP
  558.          Data:
  559.            ar$hrd   16 bits      Hardware type
  560.            ar$pro   16 bits      Protocol type
  561.            ar$hln    8 bits      Byte length of hardware address (n)
  562.            ar$pln    8 bits      Byte length of protocol address (m)
  563.            ar$op    16 bits      Operation code (request or reply)
  564.            ar$sha    nbytes      source hardware address
  565.            ar$spa    mbytes      source protocol address
  566.            ar$tha    nbytes      target hardware address
  567.            ar$tpa    mbytes      target protocol address
  568.  
  569.          ar$hrd - assigned to Frame Relay is 15 decimal
  570.                   (000F hexadecimal) [4].
  571.  
  572.          ar$pro - see assigned numbers for protocol ID number for
  573.                   the protocol using ARP. (IP is 2048 decimal ).
  574.  
  575.          ar$hln - length in bytes of the DLCI field.  Presently
  576.                   set to 4 to allow for the expansion to 4 byte
  577.      DLCIs.
  578.  
  579.          ar$pln - protocol address length is dependent on the
  580.                   protocol (ar$pro) (for IP ar$pln is 4).
  581.  
  582.          ar$op -  1 for request and 2 for reply.
  583.  
  584.  
  585.      If the Frame Relay network provides global addressing, the
  586.      hardware address fields will contain the DLCI associated with
  587.      the source (ar$sha) and destination (ar$tha) Frame Relay
  588.      station.  These DLCIs are stored right-justified within the
  589.      given field.  Any unused upper bits will be set to zero.
  590.  
  591.      Within a locally addressed Frame Relay network, however, DLCIs
  592.      do not have a one-to-one mapping.  Additionally, an end
  593.  
  594.  
  595.  
  596.  
  597.  
  598.      Bradley, Brown, Malis                                [page 10]
  599.  
  600.  
  601.  
  602.  
  603.  
  604.  
  605.               Multiprotocol Interconnect over Frame Relay
  606.  
  607.  
  608.      station does not have an assigned DLCI to put into the ARP
  609.      reply.  Fortunately, the frame relay network does provide a
  610.      method for obtaining the correct DLCIs.
  611.  
  612.      In a locally addressed network, the DLCI carried within the
  613.      frame relay header is modified as it traverses the network.
  614.      When the packet arrives at its destination, the DLCI is
  615.      assigned to the value that, from the standpoint of the
  616.      receiving station, corresponds to the sending station.  For
  617.      example, in figure 1 below, if station A were to send a
  618.      message to station B, it would place DLCI 50 in the frame
  619.      relay header.  When station B received this message, however,
  620.      the DLCI would have been modified by the network and would
  621.      appear to B as DLCI 70.
  622.  
  623.                             ~~~~~~~~~~~~~~~
  624.                            (                )
  625.          +-----+          (                  )             +-----+
  626.          |     |-50------(--------------------)---------70-|     |
  627.          |  A  |        (                      )           |  B  |
  628.          |     |-60-----(---------+            )           |     |
  629.          +-----+         (        |           )            +-----+
  630.                           (       |          )
  631.                            (      |         )  <---Frame Relay
  632.                             ~~~~~~~~~~~~~~~~         network
  633.                                   80
  634.                                   |
  635.                                +-----+
  636.                                |     |
  637.                                |  C  |
  638.                                |     |
  639.                                +-----+
  640.  
  641.                                Figure 1
  642.  
  643.              Lines between stations represent PVC  connections.
  644.              The  numbers  indicate  the  local DLCI associated
  645.              with each connection.
  646.  
  647.  
  648.  
  649.  
  650.      Unlike the global addressing case, hardware addresses within
  651.      ARP messages in the locally addressed network will be invalid.
  652.      The DLCI values found in the frame header will, however, be
  653.  
  654.  
  655.  
  656.  
  657.  
  658.      Bradley, Brown, Malis                                [page 11]
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.               Multiprotocol Interconnect over Frame Relay
  666.  
  667.  
  668.      correct. Though it does violate the purity of layering, Frame
  669.      Relay may use the DLCI value in the header as the sender
  670.      hardware address.  It should also be noted that the target
  671.      hardware address, in both ARP request and reply, will also be
  672.      invalid.  This should not cause problems since ARP does not
  673.      rely on these fields and in fact, an implementation may zero
  674.      fill or ignore the target hardware address field entirely.
  675.  
  676.      As an example of how this DLCI replacement scheme may work,
  677.      refer back to figure 1.  If station A (protocol address pA)
  678.      wished to resolve the address of station B (protocol address
  679.      pB), it would format an ARP request with the following values.
  680.  
  681.  
  682.                    ARP request from A
  683.                      ar$op     1 (request)
  684.                      ar$sha    unknown
  685.                      ar$spa    pA
  686.                      ar$tha    trying to resolve
  687.                      ar$tpa    pB
  688.  
  689.  
  690.      Because station A will not have a source DLCI associated with
  691.      it, the source hardware address field is not valid.
  692.      Therefore, when the ARP packet is received, it must extract
  693.      the correct DLCI from the frame relay header and place it in
  694.      the source hardware address field.  This way, the ARP request
  695.      from A will become
  696.  
  697.  
  698.               ARP request from A as modified by B
  699.                 ar$op     1 (request)
  700.                 ar$sha    70  from Frame Relay header
  701.                 ar$spa    pA
  702.                 ar$tha    trying to resolve
  703.                 ar$tpa    pB
  704.  
  705.  
  706.      Station B's ARP will then be able to store station A's
  707.      protocol address and DLCI association correctly.  Next,
  708.      station B will form a reply message.  In many implementations,
  709.      ARP simply places the source addresses from the ARP request
  710.      into the target addresses and then fills in the source
  711.      addresses with its addresses.  In this case, the ARP response
  712.      would be
  713.  
  714.  
  715.  
  716.  
  717.  
  718.      Bradley, Brown, Malis                                [page 12]
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.               Multiprotocol Interconnect over Frame Relay
  726.  
  727.  
  728.                       ARP response from B
  729.                         ar$op     2 (response)
  730.                         ar$sha    unknown
  731.                         ar$spa    pB
  732.                         ar$tha    70
  733.                         ar$tpa    pA
  734.  
  735.  
  736.      Again, the source hardware address is unknown and when the
  737.      request is received, station A will extract the DLCI from the
  738.      Frame Relay header and place it in the source hardware address
  739.      field.  Therefore, the response will become
  740.  
  741.  
  742.                 ARP response from B as modified by A
  743.                   ar$op     2 (response)
  744.                   ar$sha    50
  745.                   ar$spa    pB
  746.                   ar$tha    70
  747.                   ar$tpa    pA
  748.  
  749.  
  750.      Station A will now correctly recognize station B having
  751.      protocol address pB associated with DLCI 50.
  752.  
  753.      Reverse ARP (RARP) [5] will work in exactly the same way.
  754.      Still using figure 1, if we assume station C is an address
  755.      server, the following RARP exchanges will occur.
  756.  
  757.  
  758.          RARP request from A             RARP request as modified by C
  759.             ar$op  3 (RARP request)         ar$op  3  (RARP request)
  760.             ar$sha unknown                  ar$sha 80
  761.             ar$spa trying to resolve        ar$spa trying to resolve
  762.             ar$tha 60                       ar$tha 60
  763.             ar$tpa pC                       ar$tpa pC
  764.  
  765.  
  766.      Station C will then look up the protocol address corresponding
  767.      to DLCI 80 and send the RARP response.
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.      Bradley, Brown, Malis                                [page 13]
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.               Multiprotocol Interconnect over Frame Relay
  786.  
  787.  
  788.          RARP response from C            RARP response as modified by A
  789.             ar$op  4  (RARP response)       ar$op  4 (RARP response)
  790.             ar$sha                          ar$sha 60
  791.             ar$spa pC                       ar$spa pC
  792.             ar$tha 80                       ar$tha 80
  793.             ar$tpa pA                       ar$tpa pA
  794.  
  795.  
  796.      This means that the Frame Relay interface must only intervene
  797.      in the processing of incoming packets.  Additionally, a
  798.      station on a locally addressed network may learn how others
  799.      view it by examining the target hardware address.
  800.  
  801.      In other networks, the ARP request is sent to a well-known
  802.      broadcast address.  Frame Relay has no such broadcast address.
  803.      Some service providers do provide for a multicasting
  804.      capability.  If this multicasting behaves in such a way that
  805.      if a packet is sent via this multicast address, the
  806.      destination receives tha packet with a dlci for the source
  807.      address (and not the unmodified multicast address), ARP may
  808.      use this feature to send requests.  ARP requests will use the
  809.      multicast address which contains the DLCIs of all reachable
  810.      stations (or perhaps the subset of stations to which ARPs are
  811.      allowed). This DLCI value must be configurable.
  812.  
  813.      In the case where multicast DLCIs are not available, ARP may
  814.      still be implemented.  In this case, it is the end station's
  815.      responsibility to send a copy of the ARP request through each
  816.      available PVC.
  817.  
  818.      In a Frame Relay network that supports the Local Management
  819.      Interface (LMI), a Frame Relay end station may use LMI
  820.      provided PVC information to dynamically discover its
  821.      neighbors.  This is accomplished using Inverse ARP (InARP)
  822.      [9]. Inverse ARP associates a given hardware address (in this
  823.      case a DLCI) with a requested protocol address.  Using InARP,
  824.      a Frame Relay station may choose to poll end stations on newly
  825.      announced PVCs (announced via the LMI status messages) in
  826.      order to discover new connectivity. Locally addressed networks
  827.      will again need to modify the source hardware address as with
  828.      ARP and RARP examples above.  The inclusion of InARP support
  829.      should be a configurable option.
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.      Bradley, Brown, Malis                                [page 14]
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.               Multiprotocol Interconnect over Frame Relay
  846.  
  847.  
  848.      11.  IP over Frame Relay
  849.  
  850.      Internet Protocol [7] (IP) datagrams sent over a Frame Relay
  851.      network conform to the encapsulation described previously and
  852.      can use either the short ethertype or SNAP encapsulation.
  853.      Therefore, the IP datagram may be in either of the following
  854.      formats:
  855.  
  856.  
  857.          SNAP encapsulation form of IP over Frame Relay
  858.  
  859.          +---------------------------+---------------------------+
  860.          |DLCI*  (msb)               |DLCI (lsb)                 |
  861.          +---------------------------+---------------------------+
  862.          |Control (UI)  0x03         | Pad    0x05               |
  863.          +---------------------------+---------------------------+
  864.          |FI/E  indicating SNAP encapsulation   0x0400           |
  865.          +---------------------------+---------------------------+
  866.          |DSAP                0xAA   |SSAP                0xAA   |
  867.          +---------------------------+---------------------------+
  868.          |LLC control            3   | (three octet) SNAP        |
  869.          +---------------------------+---------------------------+
  870.          |protocol ID or Org code                           0    |
  871.          +---------------------------+---------------------------+
  872.          |Ethertype [4]                                 0x0800   |
  873.          +---------------------------+---------------------------+
  874.          |  IP Packet                                            |
  875.          |                           .                           |
  876.          |                           .                           |
  877.          +---------------------------+---------------------------+
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.      Bradley, Brown, Malis                                [page 15]
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.               Multiprotocol Interconnect over Frame Relay
  906.  
  907.  
  908.          Ethertype encapsulation form of IP over Frame Relay
  909.  
  910.          +---------------------------+---------------------------+
  911.          |DLCI*  (msb)               |DLCI (lsb)                 |
  912.          +---------------------------+---------------------------+
  913.          |Control (UI)  0x03         | Pad     0x05              |
  914.          +---------------------------+---------------------------+
  915.          |Ethertype [4]                                 0x0800   |
  916.          +---------------------------+---------------------------+
  917.          |  IP Packet                                            |
  918.          |                           .                           |
  919.          |                           .                           |
  920.          +---------------------------+---------------------------+
  921.  
  922.  
  923.  
  924.  
  925.      12.  Other Protocols over Frame Relay
  926.  
  927.      The IP encapsulation may serve as a model for other protocols
  928.      such as ISO, AppleTalk and DECnet.  ISO, for example, would
  929.      likely use the format identifier field indicating the
  930.      existence of a SNAP header and fill in the LSAP appropriately
  931.      [4]. An ISO encapsulated frame would also obey ISO 8880-2, ISO
  932.      8880-3 and ISO 9577.  For example, the frame would be as
  933.      follows.
  934.  
  935.  
  936.          +----------------------+----------------------+
  937.          | DLCI                 | DLCI                 |
  938.          +----------------------+----------------------+
  939.          | Control     (0x03)   | Pad       (0x05)     |
  940.          +----------------------+----------------------+
  941.          | Format ID  (0x0400 )                        |
  942.          +----------------------+----------------------+
  943.          | IEEE 802.2 LLC1 0xfe |  0xfe                |
  944.          +----------------------+----------------------+
  945.          |NLPID  -- ISO 9577                           |
  946.          +---------------------------------------------+
  947.          | ISO data packet                             |
  948.          |                   .                         |
  949.          |                   .                         |
  950.          +---------------------------------------------+
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.      Bradley, Brown, Malis                                [page 16]
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.               Multiprotocol Interconnect over Frame Relay
  966.  
  967.  
  968.      13.  Bridging in a Frame Relay network
  969.  
  970.      A Frame Relay interface acting as a bridge must be able to
  971.      flood, forward and filter packets.
  972.  
  973.      Flooding is performed in one of two ways within a Frame Relay
  974.      environment.  If the Frame Relay service provides multicast
  975.      addressing as described above, a flooded packet is simply sent
  976.      to the multicast address that includes all accessible end
  977.      stations.  If the network does not provide multicasting, the
  978.      Frame Relay station must send the packet to be flooded on all
  979.      available PVCs to simulate the multicast address.
  980.  
  981.      To forward a packet, a bridge must be able to associate a
  982.      destination MAC address with a DLCI.  It is unreasonable and
  983.      perhaps impossible to require bridges to statically configure
  984.      an association of every possible destination MAC address with
  985.      a PVC.  Therefore, Frame Relay bridges must provide enough
  986.      information to allow a Frame Relay interface to dynamically
  987.      learn about foreign destinations beyond the set of Frame Relay
  988.      stations.
  989.  
  990.      To accomplish dynamic learning, a bridged packet shall conform
  991.      to the encapsulation described within section 6 and 7 and will
  992.      use the Bridged MAC Frame Format Identifier.  In this way, the
  993.      receiving Frame Relay interface will know to look into the
  994.      bridged packet and learn the association between foreign
  995.      destination and Frame Relay station.  Implementors' note: A
  996.      table should be constructed which will grow to include any
  997.      number of destination addresses and their associated DLCIs.
  998.      This association table will be visible from the Frame Relay
  999.      Management Information Base (MIB) [10] and will have the form:
  1000.  
  1001.  
  1002.             +-----------------------------+
  1003.             | destination Address  | DLCI |
  1004.             +-----------------------------+
  1005.             |  x.x.x.x             | xxxx |
  1006.             +-----------------------------+
  1007.             |         .            |      |
  1008.             |         .            |      |
  1009.             |         .            |      |
  1010.             |         .            |      |
  1011.             +-----------------------------+
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.      Bradley, Brown, Malis                                [page 17]
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.               Multiprotocol Interconnect over Frame Relay
  1026.  
  1027.  
  1028.      Using this association table, a Frame Relay interface can
  1029.      successfully translate the destination MAC address presented
  1030.      in the forwarded packet with the correct DLCI.
  1031.  
  1032.  
  1033.      14.  References
  1034.  
  1035.          [1]  International Telegraph and Telephone Consultative
  1036.               Committee, "ISDN User-Network Interface - Data Link
  1037.               Layer Specification", CCITT Recommendation Q.921,
  1038.               Fascicle VI.10 IXth Plenary Assembly,
  1039.               Melbourne, November 1988 ("Blue Book").
  1040.  
  1041.  
  1042.          [2]  American National Standard Institute Telecommunications
  1043.               Committee, "DSS1 - Core Aspects of Frame Protocol for
  1044.               Use with Frame Relay Bearer Service",  ANSI T1S1/90-214
  1045.  
  1046.  
  1047.          [3]  Plummer, David C.,  Network Working Group,
  1048.               "An Ethernet Address Resolution Protocol",
  1049.               RFC-826, November 1982
  1050.  
  1051.  
  1052.          [4]  Reynolds, J. and Postel, J., "Assigned Numbers",
  1053.               RFC-1060, ISI, March 1990
  1054.  
  1055.  
  1056.          [5]  Finlayson, Mann, Mogul, Theimer, "A Reverse Address
  1057.               Resolution Protocol", RFC-903, Stanford University,
  1058.               June 1984
  1059.  
  1060.  
  1061.          [6]  "Frame Relay Specification With Extensions",
  1062.               Revision 1.0, Document Number 001-208966, Digital
  1063.               Equipment Corporation, Northern Telecom, Inc.,
  1064.               StrataCom, Inc., September 1990
  1065.  
  1066.  
  1067.          [7]  Postel, J. and Reynolds, J., "A Standard for the
  1068.               Transmission of IP Datagrams over IEEE 802 Networks",
  1069.               RFC-1042, ISI, February 1988
  1070.  
  1071.  
  1072.  
  1073.  
  1074.  
  1075.  
  1076.  
  1077.  
  1078.      Bradley, Brown, Malis                                [page 18]
  1079.  
  1080.  
  1081.  
  1082.  
  1083.  
  1084.  
  1085.               Multiprotocol Interconnect over Frame Relay
  1086.  
  1087.  
  1088.          [8]  American National Standard, IEEE Standards for Local
  1089.               Area Networks: Logical Link Control,
  1090.               802.2-1985 ISO Draft International Standard 8802/2
  1091.  
  1092.  
  1093.          [9]  Inverse Address Resolution Protocol,
  1094.               Wellfleet Communications draft document
  1095.  
  1096.  
  1097.          [10] Frame Relay MIB
  1098.               Wellfleet Communications draft document
  1099.  
  1100.  
  1101.          [11] Baker, Fred, "Point to Point Protocol Extensions for
  1102.               Bridging", Point to Point Working Group. RFC-1220
  1103.               April 1991
  1104.  
  1105.  
  1106.  
  1107.      15.  Authors' Addresses
  1108.  
  1109.             Terry Bradley
  1110.             Wellfleet Communications, Inc.
  1111.             15 Crosby Drive
  1112.             Bedford, MA  01730
  1113.  
  1114.             Phone:  (617) 275-2400
  1115.  
  1116.             Email:  tbradley@wellfleet.com
  1117.  
  1118.  
  1119.  
  1120.             Caralyn Brown
  1121.             Wellfleet Communications, Inc.
  1122.             15 Crosby Drive
  1123.             Bedford, MA  01730
  1124.  
  1125.             Phone:  (617) 275-2400
  1126.  
  1127.             Email:  cbrown@wellfleet.com
  1128.  
  1129.  
  1130.  
  1131.  
  1132.  
  1133.  
  1134.  
  1135.  
  1136.  
  1137.  
  1138.      Bradley, Brown, Malis                                [page 19]
  1139.  
  1140.  
  1141.  
  1142.  
  1143.  
  1144.  
  1145.               Multiprotocol Interconnect over Frame Relay
  1146.  
  1147.  
  1148.             Andrew G. Malis
  1149.             BBN Communications
  1150.             150 CambridgePark Drive
  1151.             Cambridge, MA  02140
  1152.  
  1153.             Phone:  (617) 873-3419
  1154.  
  1155.             Email: malis@bbn.com
  1156.  
  1157.  
  1158.  
  1159.  
  1160.  
  1161.  
  1162.  
  1163.  
  1164.  
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.  
  1194.  
  1195.  
  1196.  
  1197.  
  1198.      Bradley, Brown, Malis                                [page 20]
  1199.